Computer systems typically include bulk storage systems, such as magnetic disk drives, optical storage devices, tape drives, or solid state storage drives, among other storage systems. As storage needs have increased in these computer systems, networked storage systems have been introduced which store large amounts of data in a storage environment physically separate from end user computer devices. These networked storage systems typically provide access to bulk data storage over one or more network interfaces to end users or other external systems. In addition to storage of data, remote computing systems include various processing systems that can provide remote computing resources to end users. These networked storage systems and remote computing systems can be included in high-density installations, such as rack-mounted environments.
However, as the densities of networked storage systems and remote computing systems increase, various physical limitations can be reached. These limitations include density limitations based on the underlying storage technology, such as in the example of large arrays of rotating magnetic media storage systems. These limitations can also include computing density limitations based on the various physical space requirements for network interconnect as well as the large space requirements for environmental climate control systems.
In addition to physical space limitations, these bulk storage systems have been traditionally limited in the number of devices that can be included per host, which can be problematic in storage environments where higher capacity, redundancy, and reliability is desired. These shortcomings can be especially pronounced with the increasing data storage and retrieval needs in networked, cloud, and enterprise environments.
Overview
Systems, methods, apparatuses, and software for data storage systems are provided herein. In one example, a data storage assembly is provided. The data storage assembly includes a plurality of storage drives each comprising a PCIe host interface and solid state storage media, with each of the storage drives configured to store and retrieve data responsive to storage operations received over an associated PCIe host interface. The data storage assembly includes a PCIe switch circuit coupled to the PCIe host interfaces of the storage drives and configured to receive the storage operations issued by one or more host systems over a shared PCIe interface and transfer the storage operations for delivery to the storage drives over selected ones of the PCIe host interfaces. The data storage assembly includes a control processor configured to monitor usage statistics of the plurality of storage drives, and power control circuitry configured to provide power to the plurality of storage drives and selectively remove the power from ones of the plurality of storage drives based at least on the usage statistics of the plurality of storage drives.
In another example, a method of operating a data storage assembly is provided. The method includes, in a plurality of storage drives each comprising a Peripheral Component Interconnect Express (PCIe) host interface and solid state storage media, storing and retrieving data responsive to storage operations received over an associated PCIe host interface. The method also includes, in a PCIe switch circuit coupled to the PCIe host interfaces of the plurality of storage drives, receiving the storage operations issued by one or more host systems over a shared PCIe interface and transferring the storage operations for delivery to the plurality of storage drives over selected ones of the PCIe host interfaces. The method also includes monitoring usage statistics of the plurality of storage drives, and providing power to the plurality of storage drives and selectively removing the power from ones of the plurality of storage drives based at least on the usage statistics of the plurality of storage drives.
In another example, a data storage module is provided. The data storage module includes a plurality of storage drives each configured to store and retrieve data responsive to storage operations received over associated host interfaces. The data storage module includes communication circuitry coupled to the host interfaces of the plurality of storage drives and configured to receive the storage operations issued by one or more host systems over a shared interface and transfer the storage operations for delivery to the plurality of storage drives over selected ones of the host interfaces. The data storage module includes power control circuitry configured to monitor usage statistics of the plurality of storage drives, and selectively remove power from ones of the plurality of storage drives based at least on the usage statistics of the plurality of storage drives.